package com.back_end.NetWork.TCP_FilesUpload;


import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;

//服务端
public class TCP_ServeDemo02 {

    public static void main(String[] args) throws Exception {
        //1.创建服务 创建一个端口号
        ServerSocket serverSocket = new ServerSocket(9000);
        //2.监听客户端连接
        Socket socket = serverSocket.accept();//阻塞式监听，会一直等待客户端连接
        //3.获取输入流
        InputStream is = socket.getInputStream(); //此时将socket拿来的数据放入输入流
        //4.文件输出
        FileOutputStream fos = new FileOutputStream(new File("receive.jpg")); //空文件
        byte[] buffer = new byte[1024];
        int len;  //输出的时候，从0到末尾都写出去
        while ((len=is.read(buffer))!= -1){  //read is.将文件数据写入到buffer
            fos.write(buffer,0,len);   //fos将buffer中的数据写到文件
        }

        //通知客户端我接收完毕了
        OutputStream os = socket.getOutputStream();
        os.write("我接收完毕了，你可以断开了".getBytes());

        //关闭资源
        fos.close();
        is.close();
        socket.close();
        serverSocket.close();
    }
}
